package tryCatch;

import java.io.IOException;

/*
* try...catch :异常处理的第二种方式，自己处理异常
* 格式：
*       try{
*           可能产生异常的代码
*       }catch（定义一个异常的变量，用来接收try中抛出的异常对象）{
*           异常的处理逻辑，产生异常对象之后，怎么处理异常对象
*           一般在工作中，会吧异常的信息记录到一个日志中。
*       }
*        ...
*       catch（异常类名 变量名）{
*
*       }
*   注意：
*       1.try中可能会抛出多个异常对象，那么就可以使用多个catch进行处理这些异常
*       2.如果try中产生了异常，那么就会执行catch中的异常处理逻辑，
*       3.如果try中没有产生异常，那么就不会执行catch中异常的处理逻辑，执行玩try中的代码，
*           继续执行下一个try catch
* */
public class DemoTryCatch {
    public static void main(String[] args) {
        try{
            readFile("d:\\a.tx");
        }catch(IOException e){//try中抛出什么异常对象，catch中就定义什么异常变量，用来接收这个异常对象
            //异常的处理逻辑，接收异常对象之后怎么处理异常对象。
            System.out.println("catch 传递的文件后缀不是。txt");
        }
        System.out.println("后续代码");

    }

    private static void readFile(String fileName) throws IOException {
        if(!fileName.endsWith(".txt")){
            throw new IOException("文件的后缀名不对");
        }
    }
}
